bitkeeper revision 1.324 (3f0d277cpcr79eYnomJwVbvv_s1DPQ)
authorsos22@labyrinth.cl.cam.ac.uk <sos22@labyrinth.cl.cam.ac.uk>
Thu, 10 Jul 2003 08:44:44 +0000 (08:44 +0000)
committersos22@labyrinth.cl.cam.ac.uk <sos22@labyrinth.cl.cam.ac.uk>
Thu, 10 Jul 2003 08:44:44 +0000 (08:44 +0000)
XenoLinux shouldn't export Xen device numbers to userspace if
possible; use physdev_to_xldev to convert back to XenoLinux
block device numbers.

xenolinux-2.4.21-sparse/arch/xeno/drivers/block/xl_physdisk_proc.c
xenolinux-2.4.21-sparse/arch/xeno/drivers/block/xl_segment_proc.c

index 3014b078e647cc3b2989c6ff31a9df6202d0da57..cda22db128a73c54ce9a9d2e21d4232072b216bf 100644 (file)
@@ -13,7 +13,7 @@
 extern int xenolinux_control_msg(int operration, char *buffer, int size);
 extern unsigned short xldev_to_physdev(kdev_t xldev);
 
-static dev_t physdev_to_xldev(unsigned short physdev)
+dev_t physdev_to_xldev(unsigned short physdev)
 {
     switch (physdev & XENDEV_TYPE_MASK) {
     case XENDEV_IDE:
index dce8a2d4bf9b2be02cff82318bdd20729b26ca4c..ecd20acfa4fcfbabca61e5ed25d04433bcb6d40f 100644 (file)
@@ -13,6 +13,7 @@
 static struct proc_dir_entry *vhd;
 
 extern unsigned short xldev_to_physdev(kdev_t xldev);
+extern dev_t physdev_to_xldev(unsigned short physdev);
 
 static void *proc_vhd_next(struct seq_file *s, void *v, loff_t *pos)
 {
@@ -50,7 +51,7 @@ static int proc_vhd_show(struct seq_file *s, void *v)
                data->segments[data->count - 1].domain,
                data->segments[data->count - 1].seg_nr,
                data->segments[data->count - 1].key,
-               data->segments[data->count - 1].device);
+               physdev_to_xldev(data->segments[data->count - 1].device));
 
     return 0;
 }